package com.songlanyun.modules.usergains.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.songlanyun.common.drive.ValueObject;
import com.songlanyun.common.enums.UserBillConstant;
import com.songlanyun.common.utils.custom.DateCustomUtils;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class UserBillVo implements ValueObject {

    /**
     *
     */
    @TableId
    private Long id;
    /**
     * 会员id
     */
    private Long userId;

    /**
     *  会员昵称
     */
    private String nickname;

    /**
     *  会员真实姓名
     */
    private String realName;

    /**
     *  会员真实姓名
     */
    private String mobile;

    /**
     * 所得帐单描述
     */
    private String remark;
    /**
     * 账单类型（0，支出（提现），1收入（结算分佣所得））
     */
    private UserBillConstant.BillType billType;
    /**
     * 收入模式：0、非收入，1分润所得
     */
    private UserBillConstant.InnerMode innerMode;
    /**
     * 支出模式：（0，非支出，1提现）
     */
    private UserBillConstant.OuterMode outerMode;


    private String mode;

    public String getMode() {
        if (UserBillConstant.BillType.EXPENDITURE == billType) {
            this.mode = outerMode.getMsg();
        } else {
            this.mode = innerMode.getMsg();
        }
        return this.mode;
    }

    /**
     * 入帐前的
     */
    private BigDecimal entryBefore;
    /**
     * 入帐后的
     */
    private BigDecimal entryAfter;
    /**
     * 入帐的
     */
    private BigDecimal entryValue;

    /**
     * 操作者
     */
    private String operator;
    /**
     * 入账时间
     */
    private Long createTimeMillis;
    public void  setCreateTimeMillis(Long createTimeMillis)
    {
        this.createTimeMillis= createTimeMillis;
        this.formatCreateTimeMillis = DateCustomUtils.formatToDateTimeString(createTimeMillis);
    }

    /**
     * 格式化创建时间
     */
    private String formatCreateTimeMillis;

    /**
     * 单 号
     */
    private String code;
}
